The worldwide network of computers commonly known as the "Internet" has seen explosive growth in the last several years. This growth has been typically fueled by the introduction and widespread use of "web" browsers that allow for simple graphical user interface-based access to network servers. Such network servers typically support documents formatted as "web pages." The "World Wide Web" (WWW) is a hypertext information and communication system used on the Internet with data communications operating according to a client/server model using a Hypertext Transfer Protocol (HTTP). HTTP is a known application protocol that provides users access to files using a standard page description language referred to as Hypertext Markup Language (HTML). It should be noted that HTML is an application of Standard Generalized Markup Language (SGML), an international standard (ISO 8879) for text information processing. Furthermore, the files that are accessed using HTML may be provided in different formats, such as text, graphics, images, sound, and video, among others. HTML provides basic document formatting and allows the developer to specify "links" to other servers and files. Links are then specified using a Uniform Resource Locator (URL) when an HTML-compliant client browser is used. Upon specification of a URL, a client may make a TCP/IP request to the server identified in the link and receive a "web page" in return, where the "web page" is a document formatted according to HTML.
Links are important tools that may be interactively used within a web page. Links, which may be highlighted text, pictures, or icons, point to a different area on the same web page, a different web page, or some other resource on the Internet. By accessing a URL associated with a link, a user may travel from web page to web page. Successive web pages may be either on the same server as the linking page, or on a different server. It should be noted that links are typically accessed by a user using a traditional "point and click" methodology.
If a user clicks on a link, the browser may then transfer the user from the current document to another document associated with the link. In turn, the destination document may contain additional links that go to yet more documents. In this manner, the user may navigate through multiple hierarchical layers of documents or various sites by continuing to select links.
As users navigate among documents and sites, most browsers track this activity using a linear history mechanism. The pages visited are simply added to a linear list. The current page is at the top of the list, and pages appear in inverse chronological order thereafter. Subsequently visited pages are added to the top of the list. This includes pages that have been previously visited and which the user has revisited. Thus, in a particular session, the linear history may contain multiple references to the same web page. These multiple references are not necessarily useful to the user, and increase the burden of revisiting the web page that has been pushed down the list by the repeated entries. The list may eventually become unwieldy, or if the list is limited in length, become limited in usefulness, because it largely contains redundant information. Thus, there is a need in the art for an improved method and apparatus for maintaining browsing histories in which redundant information is excluded, and which provide random access to any page previously retrieved.